<?
	/* Se asegura que el archivo es incluido por el index */
		defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Proyecto_contacto_frm( $this );

	class Proyecto_contacto_frm extends Frm
	{
	function setValue ( $ncProyecto, $ncContacto )
		{
			$cSql = "SELECT ncOrganizacion, ncPersona, ncObjetivo, ncTarea
								FROM atProyectoContacto
								WHERE ncProyecto = $ncProyecto
									AND ncContacto = $ncContacto";
			$aRow = $this->oDatabase->getArray($cSql);
			$this->aFields['ncTarea']->setValue( $aRow['ncTarea'] );
			$this->aFields['ncObjetivo']->setValue( $aRow['ncObjetivo'] );
			$this->aFields['Contacto']->aFields['ncOrganizacion']->setValue( $aRow['ncOrganizacion'] );
			$this->aFields['Contacto']->aFields['ncPersona']->setValue( $aRow['ncPersona'] );
			return $aRow;
		}
	function initializeForm()
		{
			// Configura el Titulo
			// Si Recibe la Pk => busca los datos
				if ( $this->isRetrievable() && $this->aFields['ncProyecto']->getValue() && $this->aFields['ncContacto']->getValue() )
				{
					$aRow = $this->setValue( $this->aFields['ncProyecto']->getValue(), $this->aFields['ncContacto']->getValue() );
				}
			return true;
		}
	function Proyecto_contacto_frm( &$oModule )
		{
			$this->Frm( $oModule );
			//Crea los Objetos de los campos de edicion
			$this->aFields['ncProyecto']		= new InputList( "Proyecto", "ncProyecto" );
			$this->aFields['ncObjetivo']		= new InputList( "Objetivo", "ncObjetivo" );
			$this->aFields['ncTarea']			= new InputList( "Tarea", "ncTarea" );
			$this->aFields['ncContacto']	= new Input( "Codigo", "ncContacto", '', false, true );
			$oModAdministracion =& loadModule( 'administracion' );
			$oModAdministracion->setSubModule('entidades' );
			$this->aFields['Contacto'] = $oModAdministracion->loadClass( 'organizacion_persona_frm' );
			$this->aFields['Contacto']->setClassContainer( $this->getClassContainer() );
}
	function initializeField( $cField , &$oField )
		{
			switch ( $cField )
			{
				case 'ncObjetivo':
					if ( $this->aFields['ncProyecto']->getValue()  )
					{
						$oField->setWidth(150);
						$cSql = "SELECT ncObjetivo, cdObjetivo FROM atObjetivo WHERE ncProyecto =  " . $this->aFields['ncProyecto']->getValue() ;
						$oField->setMatrix( $this->oDatabase->getMatrix($cSql)  );
					} else $oField->setHidden();
					break;
				case 'ncTarea':
					if ( $this->aFields['ncProyecto']->getValue()  )
					{
						$oField->setWidth(150);
						$cSql = "SELECT ncTarea, cdTarea FROM atTarea WHERE ncProyecto =  " . $this->aFields['ncProyecto']->getValue() ;
						$oField->setMatrix( $this->oDatabase->getMatrix($cSql)  );
					} else $oField->setHidden();
					break;
				case 'ncContacto':
					$oField->setHidden();
					break;
				case 'ncProyecto':
					if ( $this->aFields['ncProyecto']->getValue()  )
					{
						$oField->setHidden();
					} else
					{
						$oField->setWidth(150);
						$cSql = "SELECT ncProyecto, cdProyecto FROM atProyecto ";
						$oField->setMatrix( $this->oDatabase->getMatrix($cSql)  );
					}
				break;
				case 'Contacto':
					$oField->setOptions( DEFAULT_MAKE_FRM );
					$oField->setFormName( $this->getFormName() );
					$oField->setOptionsLevel(2);
					$oField->setOptionsType('N');
					$oField->aFields['ncOrganizacion']->setMandatory(false);
					$oField->aFields['ncPersona']->setMandatory(false);
					$oField->aFields['ncOrganizacion']->cClassName = get_class( $this );
				break;
			}
		}
	}
?>
